# 需求：
# 有两个参数：手机号和密码
# 手机号的测试数据有三个，密码的测试数据也有三个
# 最后组装成元组列表类型的数据作为最终的测试数据: [(手机号1,密码1),(手机号2,密码2),...]
# 总共需要几种场景的测试数据

# 定义存储手机号的列
phone_list = ['13880001111', '13999992222', '150999933331']
# 定义存储密码的列
password_list = ['123456', '456def', 'aaaaaa']

# 目标：得到一个元组列表类型的数据（存储手机号和密码的全组合）
# 0. 定义空列表，用于存储最终的组合结果
result = []
# 1. 遍历手机号列表中的每个手机号
for i in phone_list:
    # 遍历密码列表中的每个密码
    for j in password_list:
        # 将手机号和密码组合成元组
        element = (i, j)
        # 将组合好的元组添加到结果列表中
        result.append(element)
# 打印最终的结果列表
print(result)
# 计算并打印需要覆盖的场景数量（即结果列表的长度）
print(len(result))

# 列表推导式：Python中构造列表数据的一种简洁方法
# 语法1：[表达式 for 变量 in 可迭代对象]
# 案例：从1~10中获取每个整数的平方，保存到列表中
# 方式1：使用for循环构造列表
res1 = []
for i in range(1, 11):
    res1.append(i**2)
print(res1)
# 方式2：使用列表推导式构造列表
res2 = [i**2 for i in range(1, 11)]
print(res2)